Reflection - Alternative Methods

In this file you can: 
(1). Show construction lines in a basic reflection 
(2). Begin with only Object and Image and show how to find the Mirror Line 
(3). See an alternative method of constructing a reflection using, in effect, a sheet of tracing paper having on it a grid (Hint: - Align the grid along the mirror line)

Reflection Line

Find Reflection Line (1)

Find Reflection Line (3)

Reflection

Method

Find Reflection Line (2)

Lined Tracing Paper

a = Line(B_1, C)
F = (5.432244553475191, 11.386717146426337)
G = (5.432244553475191, 9.386717146426337)
H = (7.432244553475191, 7.386717146426337)
I = (9.432244553475192, 7.386717146426337)
J = (9.432244553475192, 11.386717146426337)
K = (7.432244553475191, 11.386717146426337)
L = (7.432244553475191, 9.386717146426337)
M = (6.477806567374042, 9.394326556499166)
poly1, f, g, h, i, j, k, l, m_2 = Polygon(F, G, H, I, J, K, L, M)
A_1 = (4.04981271943657, 20.52437069566982)
D = (-2.36843160009568, 1.625425467241934)
b = Line(A_1, D)
F'_1 = Mirror(F, b)
G' = Mirror(G, b)
H'_1 = Mirror(H, b)
I' = Mirror(I, b)
J'_1 = Mirror(J, b)
K' = Mirror(K, b)
L' = Mirror(L, b)
M' = Mirror(M, b)
poly1', f', g', h', i', j', k', l', m' = Polygon(F'_1, G', H'_1, I', J'_1, K', L', M')
c = Segment(F, F'_1)
d = Segment(H'_1, H)
E = Intersect(b, c)
N = Intersect(b, d)
e = Segment(J'_1, J)
O = Intersect(b, e)
o = false
p = Segment(K', K)
q = Segment(G', G)
P = Midpoint(K', K)
Q = Midpoint(G', G)
r = Line(P, Q)
s = false
t = false
u = false
c_1 = Semicircle(J'_1, J)
d_1 = Semicircle(F'_1, F)
e_1 = Semicircle(H'_1, H)
k_1 = Segment(O, J)
l_1 = Segment(E, F)
m_1 = Segment(N, H)
n_1 = false
v = 0 (slider from -1 to 0, step 0.1)
J'_2 = Dilate(J, v, O)
F'_2 = Dilate(F, v, E)
H'_2 = Dilate(H, v, N)
h_1 = Segment(O, J'_2)
i_1 = Segment(E, F'_2)
j_1 = Segment(N, H'_2)
α = Angle(J, O, A_1)
β = Angle(F, E, A_1)
γ = Angle(H, N, A_1)
w = false
A = (1.9739320400719662, 10.68447133518856)
f_1 = Circle(A, 1)
z = false
B = (3.5196974954375198, 13.708953386964296)
a_1 = Segment(A, B)
n = 0 (slider from 0 to 10, step 1)
m = 0 (slider from 0 to 10, step 1)
e_n = 1 (slider from 1 to 20, step 1)
e_m = 1 (slider from 1 to 20, step 1)
θ = If(x(A) ≠ x(B), atan(Slope[Line[A, B]]), If[x(A) ≟ x(B) ∧ (y(B) > y(A)), 1.5708, If[x(A) ≟ x(B) ∧ (y(B) < y(A)), -1.5708]])
dAB = Distance(A, B)
GridAllParallelABsegments = Sequence(Segment[(x(A) - n * dAB * cos(θ) - i * dAB * sin(θ), y(A) - n * dAB * sin(θ) + i * dAB * cos(θ)), (x(A) + n * dAB * cos(θ) - i * dAB * sin(θ), y(A) + n * dAB * sin(θ) + i * dAB * cos(θ))], i, -m, m, 1 / e_m)
GridAllPerpABsegments = Sequence(Segment[(x(A) + j * dAB * cos(θ) - m * dAB * sin(θ), y(A) + j * dAB * sin(θ) + m * dAB * cos(θ)), (x(A) + j * dAB * cos(θ) + m * dAB * sin(θ), y(A) + j * dAB * sin(θ) - m * dAB * cos(θ))], j, -n, n, 1 / e_n)